Methods, systems, and computer-readable media for redirecting telephone calls from a wireless device in a telecommunications network

ABSTRACT

Methods, systems, and computer-readable media are provided for redirecting telephone calls from a wireless device in a telecommunications network. The existence of a predefined condition is determined after an incoming call is received in the wireless device. The predefined condition may be based on a number of criteria including the current time and date, the current quantity of minutes used in the wireless device, the current estimated bill for usage of the wireless device, a current quantity of received calls in the wireless device when the incoming call is received, and the telephone number associated with the incoming call when the incoming call is received. If the predefined conditions exists, call forwarding rules stored in the wireless device are retrieved and executed from the wireless device. The call forwarding rules include instructions, based on the predefined condition, for redirecting the incoming call.

TECHNICAL FIELD

The present invention is related to call forwarding in atelecommunications network. More particularly, the present invention isrelated to redirecting telephone calls made to a wireless device byutilizing the wireless device to execute call forwarding rules stored inthe wireless device.

BACKGROUND OF THE INVENTION

Many wireline and wireless telecommunications service providers offercall forwarding as a feature for redirecting telephone calls tosubscribers. Typically, these features require the subscriber to specifyan alternate telephone number for forwarding all incoming calls orunanswered incoming calls and to communicate this information to theservice provider. Once the call forwarding information is received, theservice provider forwards incoming calls to the subscriber's alternatetelephone number. When the call forwarding feature is no longer desired,the subscriber is typically required to communicate selection to theservice provider which then stops the forwarding of telephone calls.

One of the drawbacks associated with current call forwarding services isthat the subscriber is required to remember to contact the serviceprovider to manually activate and deactivate call forwarding. Thus, asubscriber runs the risk of not receiving telephone calls to a primarynumber if he or she forgets to contact the service provider todeactivate call forwarding. In an effort to address this situation, someservice providers offer a “cradle” device which automatically activatesthe forwarding telephone calls to a preselected wireline telephonenumber when a wireless phone is “plugged in” to the cradle and whichautomatically deactivates call forwarding when the phone is removed.This previous solution, however, requires the subscriber to purchase anduse the aforementioned cradle device. Furthermore, the subscriber isstill required to communicate the forwarding telephone numbers to theservice provider in order to use the cradle call forwarding device.

SUMMARY OF THE INVENTION

In accordance with illustrative embodiments of the present invention,the above and other problems are addressed by methods, systems, andcomputer-readable media for redirecting telephone calls made to awireless device, by utilizing the wireless device to execute callforwarding rules stored in the wireless device.

According to one embodiment of the invention, a method is provided forreceiving an incoming call in a wireless device, determining theexistence a predefined condition, and if the predefined conditionexists, then retrieving call forwarding rules stored in the wirelessdevice. Each call forwarding rule includes instructions for redirectinga telephone call based on the predefined condition and the callforwarding rule may be selected from a menu in the wireless device. Themethod further includes executing the instructions in the callforwarding rules to redirect the incoming call in the telecommunicationsnetwork. The predefined condition may be based on a number of criteriaincluding the current time and date when the incoming call is received,the current quantity of minutes used in the wireless device when theincoming call is received, the current estimated bill for usage of thewireless device when the incoming call is received, a current quantityof received calls in the wireless device when the incoming call isreceived, and the telephone number associated with the incoming callwhen the incoming call is received.

The call forwarding rules which are executed based on the predefinedcondition may include instructions for forwarding the incoming call to apreselected telephone number during a specific time and date period,forwarding the incoming call to a preselected telephone number when acurrent quantity of minutes used exceeds a predetermined quantity ofminutes, forwarding the incoming call to a preselected telephone numberwhen a current estimated bill exceeds a predetermined amount, forwardingthe incoming call to a preselected telephone number when a currentquantity of received telephone calls exceeds a predetermined number oftelephone calls, and forwarding the incoming call to a preselectedtelephone number when a telephone number associated with the incomingcall is equivalent to a predetermined telephone number.

The method may also include updating the rules in the wireless device.The rules may be updated by uploading the rules from the wireless deviceto a web interface, updating the rules via the web interface, anddownloading the updated rules into the wireless device. The rules may becommunicated in short message service (“SMS”) messages between thewireless device and the web interface.

Other aspects of the invention may be implemented as a computer processexecuted on a wireless device, a computing apparatus, or as an articleof manufacture such as a computer program product or computer-readablemedia. The computer program product may be a computer storage mediareadable by a computer system and encoding a computer program ofinstructions for executing a computer process. The computer programproduct may also be a propagated signal on a carrier readable by acomputing system and encoding a computer program of instructions forexecuting a computer process.

These and various other features as well as advantages, whichcharacterize the present invention, will be apparent from a reading ofthe following detailed description and a review of the associateddrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a network diagram illustrating aspects of a telecommunicationsnetwork utilized in and provided by various illustrative embodiments ofthe invention;

FIG. 2 is a block diagram of the wireless device illustrated in FIG. 1,according to an illustrative embodiment of the invention;

FIG. 3 is a flow diagram illustrating aspects of a process for executingcall forwarding rules for redirecting telephone calls from a wirelessdevice in the telecommunications network of FIG. 1, according to anillustrative embodiment of the invention;

FIG. 4 is a flow diagram illustrating aspects of a process for updatingcall forwarding rules stored in a wireless device in thetelecommunications network of FIG. 1, according to an illustrativeembodiment of the invention; and

FIG. 5 is a list showing illustrative call forwarding rules according toan illustrative embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the present invention provide methods, systems, andcomputer-readable media for redirecting telephone calls from a wirelessdevice in a telecommunications network. In the following detaileddescription, references are made to the accompanying drawings that forma part hereof, and in which are shown by way of illustration specificembodiments or examples. Referring now to the drawings, in which likenumerals represent like elements through the several figures, aspects ofthe present invention and the exemplary operating environment will bedescribed.

FIG. 1 and the following discussion are intended to provide a brief,general description of a suitable network environment in which theinvention may be implemented. Referring now to FIG. 1, an illustrativetelecommunications network 2 for performing an illustrative embodimentof the invention will be described. As shown in FIG. 1, thetelecommunications network 2 includes a wireless device, such aswireless telephone 20, utilized for voice and data communications. In anillustrative embodiment of the invention, the wireless telephone 20 mayinclude “smart phone” functionality. As appreciated by those skilled inthe art, smart phones combine the functions of a conventional mobilephone with functionality typically included in a personal or hand-heldcomputer. This functionality includes the capability of saving data,executing software programs, sending and receiving e-mail and instantmessages (including SMS messages), and accessing Web pages over theInternet. The components and functionality of the wireless telephone 20will be discussed in greater detail below in the description of FIGS.2-4.

In the telecommunications network 2, the wireless telephone 20 is incommunication with a mobile switching center (“MSC”) 10. The MSC 10 isutilized to communicate voice calls from the wireless telephone 20 tocentral office (“CO”) 19 via a wireline connection. The CO 19 isconnected to a standard or plain old telephone service (“POTS”)telephone 16 and a computer 26 via standard wireline connections. Thoseskilled in the art will appreciate that the CO 19, the MSC 10 and theconnections between them and the telephone 16 and the computer 26 may becomponents in a typical public switched telephone network (“PSTN”).According to illustrative embodiments of the invention, the CO 19 maycomprise a standard central office circuit switch for routing telephonecalls from the wireless telephone 20 in the PSTN.

In the telecommunications network 2, the wireless telephone 20 is alsoin communication with a wireless data gateway 12 for communicating datamessages over network 18. It should be appreciated that the network 18may be a wide area computer network, such as the Internet, a local areanetwork. As is known to those skilled in the art, wireless data gatewaysenable wireless communication of data over a computer network. Thoseskilled in the art will further appreciate that the functions of thewireless data gateway 12 may be incorporated into the MSC 10. Thetelecommunications network 2 also includes a web server 22 fordelivering web pages to connected devices over the network 18. It shouldbe understood that the computer 26 may also be in communication with thenetwork 18 via the CO 19 utilizing a variety of low speed and high speedconnections, including, but not limited to, 56 Kbs modem connections aswell as ISDN, DSL, and T1 lines. In alternative illustrative embodimentsof the invention, the computer 26 may also communicate with the network18 via wireless and wireline connections to a wireless network (such asa cellular network) or a cable services network via a cable modem. Theseand other connections for communicating with computer networks are wellknown to those skilled in the art.

Referring now to FIG. 2, the wireless telephone 20 will now be describedin greater detail. As shown in FIG. 2, the wireless phone 20 includes aprocessor 60 and a memory such as non-volatile memory such as “flash”memory 62. As is known to those skilled in the art, flash memory 62 is atype of reprogrammable memory enabling its contents to be easilyupdated. In the wireless telephone 20, the processor 60 is connected toa keypad 32, a display 28, a power supply 70, a radio module 40, aspeaker 74, and a microphone 72. The radio module 40 sends and receivesvoice and data via connected antenna 42.

In the wireless telephone 20, the flash memory 62 stores call forwardingrule files 64 and an application program 66. The call forwarding rulefiles 64 store rules for forwarding telephone calls to the wirelessdevice 20 based on predefined or call forwarding conditions detected bythe application program 66 when a telephone call is received.Illustrative call forwarding rules are shown in FIG. 5. Once a callforwarding condition is detected, the application program 66 executesone or more of the rule files 64. In an illustrative embodiment of theinvention, the application program 66 may be a Java applet which iscapable of being interpreted by a web server. The application program 66is also capable of generating a menu displaying the call forwardingrules on the display 28 for selection by a user via the keypad 32. Theapplication program 66 is also capable of initiating communication withthe web server 22 over the network 18 to update the call forwarding rulefiles 64. Logical operations illustrating the operation of theapplication program 66 in executing and updating the call forwardingrule files 64 will be described in greater detail below in thedescription of FIGS. 3-4.

Referring now to FIG. 3, an illustrative routine 300 will be describedillustrating a process performed by the application program 66redirecting telephone calls from the wireless telephone 20. The routine300 begins at operation 305, wherein the application program 66 receivesa user selection of one or more rules from the rule files 64. Inparticular, a user may invoke the application program 66 which generatesa menu of rules such as the illustrative list shown in FIG. 5. The usermay then select one or more of the rules to be executed when thecondition associated with each rule is present when an incoming call isreceived in the wireless telephone 20. For instance, a user may select arule forwarding all incoming calls received on weekdays between 9 A.M.and 5 P.M., to an alternate telephone number, such as a work telephonenumber.

From operation 305, the routine 300 continues to operation 310 where theapplication program 66 detects an incoming call received in the wirelesstelephone 20. The routine 300 then continues at operation 315 where theapplication program 66 determines if any call forwarding conditionsassociated with the selected call forwarding rules exist. For instance,when an incoming call is received, the application program 66 maydetermine that the rule for forwarding incoming calls when the estimatedused exceeds 999 minutes has been selected. The application program 66may be configured to determine the current number of minutes used bywireless telephone 20 by accessing a user menu built into the phone'ssoftware and compare this quantity to 999. If the current number ofminutes is equal to or greater than 999, then the application program 66determines that a call forwarding condition exists. If, at operation315, the application program 66 determines that no call forwardingconditions exist, then the routine 300 continues to operation 317 wherethe incoming call is processed as a normal call by the wirelesstelephone 20. The logical operations 300 then end.

If, however, at operation 315 the application program 66 determines thatone or more call forwarding conditions exist, then the routine 300continues operation 320. At operation 320, the application program 66retrieves the rule files 64 associated with the call forwardingconditions determined at operation 315 from the flash memory 62. Eachrule file includes instructions for forwarding the incoming call to analternate telephone number. The routine 300 then continues at operation325 where the application program 66 executes the instructions in theretrieved rule files to redirect the incoming call to the wirelesstelephone 20 to one or more preselected telephone numbers. For instance,as shown in FIG. 5, the rule files 64 include instructions that alltelephone calls meeting rule conditions be forwarded to telephone number999 999 9999. After operation 325 the routine 300 then ends.

It will be appreciated that in one illustrative embodiment, theredirection of incoming calls may be accomplished by a wireless providerin communication with the wireless telephone 20. In particular, thewireless provider may periodically “poll” the wireless telephone 20 forredirect instructions whenever a connection is established between thewireless telephone 20 and a wireless network (e.g., between the wirelesstelephone 20 and the mobile switching center (“MSC”) 10) or whenever thewireless telephone 20 syncs up with the wireless network. As is known tothose skilled in the art, polling may be accomplished through theexchange of carrier signals between the wireless telephone and thewireless network. These carrier signals, as known to those skilled inthe art, are operative to communicate a variety of data back and forthto the wireless network including network status information, whetherthe wireless phone is in use, etc. In the various illustrativeembodiments of the invention, the wireless telephone 20 may beconfigured to communicate its current redirect status to the wirelessnetwork by communicating the currently selected rules from the rulesfile 64. The wireless network then redirects incoming telephone callsbased on the communicated rules. It will be further appreciated that the

It should be appreciated that in an illustrative embodiment of theinvention, the rule files 64 may be executed in combination withmultiple wireless telephones in a rotary fashion such that calls may beforwarded back to the original wireless telephone after all callforwarding options have been exhausted. For instance, a technicalsupport organization may execute a rule for forwarding all incomingcalls from outside of the organization to a primary technician during acertain date and time interval (e.g., Mondays through Fridays from 5 P.Muntil 11 P.M.). If forwarded calls to the primary technician are notanswered, the primary technician's telephone may execute a ruleforwarding all unanswered calls to a backup technician. If forwardedcalls to the backup technician are not answered, then the backuptechnician's telephone may execute a rule forwarding all unansweredcalls back to the main technical support number.

Referring now to FIG. 4, a routine 400 for updating the rule files 64 inthe wireless telephone 20 will now be described. The routine 400 beginsat operation 405, where the application program 66 sends a data messagecontaining a listing of the rules in the rule files 64 to a webinterface, such as an Internet web page, hosted by the web server 22(FIG. 1). The rules may be communicated in an SMS message to the webserver 22. The web server 22 may be configured to list the rules on theInternet web page which may be accessible over the network 18 by aconnected computing device such as the computer 26.

The routine 400 continues from operation 405 at operation 410 where therules are updated in the web interface. In particular, a user of thecomputer 26 may access the web page hosted by the web server 22 toupdate the rules by modifying current rules or adding new rules. Forinstance, the call forwarding rule based on an estimated bill (FIG. 5)may be modified to change the bill amount from $99 to $50.

The routine 400 continues from operation 410 to operation 415 where theupdated rules are received by the application program 66. In particular,the updated rules may be sent in an SMS message to the wirelesstelephone 20. The application program 66 may be configured to parse themessage to retrieve the updated rules and store them in the flash memory62 at operation 420. From operation 420, the routine 400 then ends.

While illustrative embodiments of the present invention have been shownand described, it will be apparent to those of ordinary skill in the artthat a number of changes, modifications, or alterations to the inventionas described may be made, none of which depart from the spirit of thepresent invention. For example, the wireless telephone 20 may beconfigured with a web browser for sending and receiving web pagesenabling the rules to be updated from the wireless telephone itself. Inone illustrative embodiment, an updated or initial rules file may be“downloaded” from the wireless network during an initial connection orperiodic polling period between the wireless telephone and the wirelessnetwork. Furthermore, the rules files 64 may optionally be stored on asubscriber identify module (“SIM”) card inside of the wireless telephone20. As is known to those skilled in the art, SIM cards (also known assmart cards) may be utilized to store user data. A SIM can be moved fromone phone to another and/or different SIMs can be inserted into anycompatible phone. For instance, in the above-described illustrativeembodiments of the invention, a SIM would provide additional storage forrule files as well as enable users to transfer rule files to multiplephones without programming or downloading them from a network. These andother such changes, modifications, and alterations should therefore beseen as within the scope of the present invention.

Based on the foregoing, it should be appreciated that the variousillustrative embodiments of the invention include a method, system, andcomputer-readable medium for method for redirecting telephone calls froma wireless device in a telecommunications network. The abovespecification, examples and data provide a complete description of themanufacture and use of the composition of the invention. Since manyembodiments of the invention can be made without departing from thespirit and scope of the invention, the invention resides in the claimshereinafter appended.

1. A method for redirecting telephone calls from a wireless device in atelecommunications network, comprising: receiving an incoming call inthe wireless device; determining the existence of one predefinedcondition from a plurality of possible predefined conditions; and if theone predefined condition exists, then retrieving one rule associatedwith the one predefined condition from a plurality of rules stored inthe wireless device, each of the plurality of rules comprisinginstructions for redirecting a telephone call and each of the pluralityof rules associated with different combinations of the plurality ofpossible predefined conditions; and executing the instructions in theone rule to redirect the incoming call in the telecommunicationsnetwork.
 2. The method of claim 1, wherein determining the existence ofthe one predefined condition comprises: determining a current time anddate when the incoming call is received in the wireless device; andcomparing the current time and date to the plurality of rules todetermine the existence of the one predefined condition.
 3. The methodof claim 1, wherein determining the existence of the one predefinedcondition comprises: determining a current quantity of minutes used whenthe incoming call is received in the wireless device; and using thecurrently used minutes to determine the existence of the one predefinedcondition.
 4. The method of claim 1, wherein determining the existenceof the one predefined condition comprises: determining a currentestimated bill when the incoming call is received in the wirelessdevice; and using the current estimated bill to determine the onepredefined condition.
 5. The method of claim 1, wherein determining theexistence of the one predefined condition comprises: determining acurrent quantity of received calls when the incoming call is received inthe wireless device; and using the current quantity of received calls todetermine the existence of the one predefined condition.
 6. The methodof claim 1, wherein determining the existence of the one predefinedcondition comprises: determining a telephone number associated with theincoming call when the incoming call is received in the wireless device;and using the telephone number associated with the incoming call todetermine the existence of the one predefined condition.
 7. The methodof claim 1 further comprising receiving a selection of the one rule froma menu in the wireless device.
 8. The method of claim 1 furthercomprising updating the plurality of rules in the wireless device. 9.The method of claim 8, wherein updating the plurality of rules in thewireless device comprises: sending the plurality of rules in a datamessage to an external interface; updating the plurality of rules at theexternal interface; receiving the updated plurality of rules at thewireless device from the external interface; and storing the updatedplurality of rules in the wireless device.
 10. The method of claim 11,wherein the data message is a short message service message.
 11. Themethod of claim 11, wherein the external interface is a web interface.12. A system for redirecting telephone calls from a wireless device in atelecommunications network, comprising: a memory for storing a pluralityof rules comprising instructions for redirecting a telephone call andexecutable program code for executing the plurality of ruled based onthe existence of at least one predefined condition; and a processor, incommunication with the memory, the processor being responsive tocomputer-executable instructions contained in the program code andoperative to: determine the existence of one predefined condition from aplurality of possible predefined conditions; and if the one predefinedcondition exists, then retrieve one rule associated with the onepredefined condition from a plurality of rules stored in the wirelessdevice, each of the plurality of rules comprising instructions forredirecting a telephone call and each of the plurality of rulesassociated with different combinations of the plurality of possiblepredefined conditions; and execute the instructions in the one rule toredirect the incoming call in the telecommunications network.
 13. Thesystem of claim 12, wherein in determining the existence of the onepredefined condition the processor is further operative to: determine acurrent time and date when the incoming call is received in the wirelessdevice; and compare the current time and date to the plurality of rulesto determine the existence of the one predefined condition.
 14. Thesystem of claim 12, wherein in determining the existence of the onepredefined condition the processor is further operative to: determine acurrent quantity of minutes used when the incoming call is received inthe wireless device; and use the currently used minutes to determine theexistence of the one predefined condition.
 15. The system of claim 12,wherein in determining the existence of the one predefined condition theprocessor is further operative to: determine a current estimated billwhen the incoming call is received in the wireless device; and use thecurrent estimated bill to determine the one predefined condition. 16.The system of claim 12, wherein in determining the existence of the onepredefined condition the processor is further operative to: determine acurrent quantity of received calls when the incoming call is received inthe wireless device; and use the current quantity of received calls todetermine the existence of the one predefined condition.
 17. The systemof claim 12, wherein in determining the existence of the one predefinedcondition the processor is further operative to: determine a telephonenumber associated with the incoming call when the incoming call isreceived in the wireless device; and use the telephone number associatedwith the incoming call to determine the existence of the one predefinedcondition.
 18. The system of claim 12, wherein the processor is furtheroperative to update the plurality of rules in the wireless device,wherein in updating the plurality of rules the processor is operativeto: send the plurality of rules in a data message to an externalinterface; update the plurality of rules at the external interface;receive the updated plurality of rules at the wireless device from theexternal interface; and store the updated plurality of rules in thewireless device.
 19. The system of claim 18, wherein the externalinterface is a web interface.
 20. A computer-readable medium havingcomputer-executable instructions which when executed on a computerperform a method for redirecting telephone calls from a wireless devicein a telecommunications network, the method comprising: receiving anincoming call in the wireless device; determining the existence of onepredefined condition from a plurality of possible predefined conditions;if the one predefined condition exists, then retrieving one ruleassociated with the one predefined condition from a plurality of rulesstored in the wireless device, each of the plurality of rules comprisinginstructions for redirecting a telephone call and each of the pluralityof rules associated with different combinations of the plurality ofpossible predefined conditions; and executing the instructions in theone rule to redirect the incoming call in the telecommunicationsnetwork; and updating the plurality of rules in the wireless device.